using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;


namespace ProyectoFinal.EstilosAuto
{
    public partial class CRUDEstilosAutos : System.Web.UI.Page
    {

        ServiceEstiloAuto.WebServiceEstiloAutoSoapClient objWsEstiloAuto = new ServiceEstiloAuto.WebServiceEstiloAutoSoapClient();

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                this.cargarListaEstilosAutos(); 
            }

          
        }

        protected void linkTab_Click(object sender, EventArgs e)
        {
            this.cargarListaEstilosAutos();
        }
        protected void gvEstilosAutos_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            GridViewRow row = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);

            if (e.CommandName == "editar")
            {
               // listadoAutos.Visible = false;
                int fila = Convert.ToInt32(row.RowIndex);
                int EstiloAutoSelected = Convert.ToInt32(gvEstilosAutos.DataKeys[fila].Value);
                pEdit.Visible = true;
                this.editarEstilosAutos(EstiloAutoSelected);
                
            }
            else
            {
                int fila = Convert.ToInt32(row.RowIndex);
                int codigoEstiloAuto = Convert.ToInt32(gvEstilosAutos.DataKeys[fila].Value);
                this.eliminarEstilosAutos(codigoEstiloAuto);
            }
        }



        protected void gvEstilosAutos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            gvEstilosAutos.PageIndex = e.NewPageIndex;
            this.cargarListaEstilosAutos();
        }


       // #region Procedimientos
        private void insertarEstilosAutos(object sender, EventArgs e)
        {
            try
            {
                string estado = "";
                //dentro del metodo hacen el pase de los valores que vienen desde la interfaz
                estado = objWsEstiloAuto.insertarEstilosAutos(txt_Estilo.Text);
                if (estado == "Insertado")
                {
                    //MessageBoxControl1.btn_Click(sender, e);
                  
                    this.cargarListaEstilosAutos();
                    limpiarCampos();
                    Response.Redirect(Request.RawUrl);
                    //aqui pueden tirar un msj dependiendo de lo que devuelva el estado
                }
              

            }
            catch (Exception ex)
            {

            }
        }
        private void actualizarEstilosAutos()
        {

            try
            {
                string estado = "";
                //dentro del metodo hacen el pase de los valores que vienen desde la interfaz
                estado = objWsEstiloAuto.actualizarEstilosAutos(txt_Estilo_edit.Text, Convert.ToInt32(txt_Codigo_Estilo.Text));
                if (estado == "Error")
                {
                    //aqui pueden tirar un msj error si sucediera
                }
                else 
                {
                    pEdit.Visible = false;
                    this.cargarListaEstilosAutos();
                    Response.Redirect(Request.RawUrl);

                }


            }
            catch (Exception ex)
            {

            }
        }
        private void eliminarEstilosAutos(int codigoEstiloAuto)
        {
            try
            {
                string estado = "";
                //dentro del metodo hacen el pase de los valores que vienen desde la interfaz
                estado = objWsEstiloAuto.eliminarEstilo(codigoEstiloAuto);

                if (estado == "Eliminado")
                {
                    this.cargarListaEstilosAutos();
                }
                else 
                { 
                
                }


            }
            catch (Exception ex)
            {

            }

        }


        public void limpiarCampos()
        {
            txt_Estilo.Text = "";
            txt_Estilo_edit.Text = "";
        }

        private void editarEstilosAutos(int codigoEstiloAuto)
        {
            try
            {

                DataSet ds = objWsEstiloAuto.editarEstilos(codigoEstiloAuto);
                
                txt_Estilo_edit.Text = ds.Tables[0].Rows[0]["Estilo"].ToString();
                txt_Codigo_Estilo.Text = codigoEstiloAuto.ToString();
              
            }
            catch (Exception ex)
            {

            }
        }


        private void cargarListaEstilosAutos()
        {
            //devuelve lista completa para mostrar registros
            DataSet ds = objWsEstiloAuto.devolverEstilosAuto();
            gvEstilosAutos.DataSource = ds.Tables[0];
            gvEstilosAutos.DataBind();
        }



        protected void btn_guardar_Click(object sender, EventArgs e)
        {
            this.insertarEstilosAutos(sender, e);
        }

        protected void btn_limpiar_Click(object sender, EventArgs e)
        {
            this.limpiarCampos();
        }


        protected void btn_guardar_edit_Click(object sender, EventArgs e)
        {
            this.actualizarEstilosAutos();
        }

        protected void btn_limpiar_edit_Click(object sender, EventArgs e)
        {
            this.limpiarCampos();
        }


        protected void btn_cancelar_Click(object sender, EventArgs e)
        {
            this.limpiarCampos();
            pEdit.Visible = false;
        }

       


      

    }
}
